#define _CRT_SECURE_NO_WARNINGS

#include "list.h"
#include <list>
#include <vector>

//int main()
//{
//	TL::list<int> lt = { 2, 65, 1, 0 };
//	lt.push_back(2);
//	lt.push_back(3);
//	lt.push_back(4);
//	lt.push_back(5);
//	lt.pop_back();
//	lt.pop_front();
//	lt.push_front(-1);
//	for (auto& e : lt)
//	{
//		cout << e << " ";
//	}
//	cout << endl;
//	return 0;
//}

//int main()
//{
//	/*int x = 10;
//	const int* p1 = &x;
//	int* p2 = &x;
//	const int& r1 = x;
//	int& r2 = x;*/
//
//	const int x = 10;
//	const int* p1 = &x;
//	int* p2 = &x;
//	const int& r1 = x;
//	int& r2 = x;
//	return 0;
//}

//int main()
//{
//	TL::list<int> lt = { 2, 32,12, 23 };
//	//lt.resize(4);
//	//lt.insert(++lt.begin(), -1);
//	//lt.insert(lt.end(), 2, -1);
//	//lt.erase(--lt.end());
//	lt.resize(7);
//	for (auto e : lt)
//	{
//		cout << e << " ";
//	}
//	cout << endl;
//	cout << lt.size() << endl;
//	return 0;
//}

//int main()
//{
//	TL::list<int> lt = { 2, 32,12, 23 };
//	//TL::list<int> lt2 = lt;
//	//lt2 = lt;
//	TL::list<int>::reverse_iterator rit = lt.rbegin();
//	while (rit != lt.rend())
//	{
//		cout << *rit << " ";
//		rit--;
//	}
//
//	return 0;
//}

int main()
{
	std::vector<int> v({ 2, 3, 4, 5 });
	TL::list<int> lt(v.begin()+1, v.end());
	for (auto& e : lt)
		std::cout << e << std::endl;
	auto lt2 = lt;
	std::cout << lt.front() << std::endl;
	return 0;
}